Systems and Methods for Prioritizing Notifications on Mobile Devices

ABSTRACT

Certain embodiments of the disclosed technology include systems and methods for determining the priority of a notification on a mobile device using machine learning. Other aspects of the disclosed technology include selectively displaying or emphasizing notifications based on the priority of a notification.

RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/258,996, filed on Apr. 22, 2014, which, in turn,claims priority to U.S. application Ser. No. 13/648,972, filed on Oct.10, 2012, which, in turn, claims priority to U.S. ProvisionalApplication No. 61/665,289 filed on Jun. 27, 2012, which is herebyincorporated by reference.

BACKGROUND

Mobile devices often receive vast amounts of data from variousapplications, such as text messages (for example, through Short MessageService (SMS) or Multimedia Message Service (MMS)), emails, phone calls,calendar alerts, geo-location alerts, voicemails, and third-partyapplications. Some mobile devices alert users to newly-received datathrough a “notification” that an event has occurred or that newinformation is available. For example, if a mobile device receives twonew text messages, and an application message, the mobile device candisplay notifications that the new text messages and application messagehave been received (as opposed to displaying the actual messages). Insome instances, one or more of the notifications can provide at least apreview of the received messages. Such notifications provide the userwith a summary or overview of the data being received or provided to theuser, and are often presented in chronological or reverse-chronologicalorder.

Due to the increasing number of notifications provided by applications,users of mobile devices are often presented with an extensive amount ofinformation at any given time. Some recent mobile device systems allowusers to manually assign priority levels to certain notifications andthereby change the order in which notifications are presented.

Many known systems and devices, however, lack the ability tointelligently present notifications based on their importance to aspecific user, and without requiring the user to manually program suchsettings.

SUMMARY

The deficiencies described above are remedied by certain embodiments ofthe disclosed technology, which include systems and methods fordetermining the priority of a notification on a mobile device usingmachine learning. Certain aspects of the disclosed technology includeselectively displaying or outputting notifications based on theirpriority.

According to an embodiment of the disclosed technology, acomputer-implement method is provided that comprises outputting, to adisplay device operatively coupled to a mobile device, a plurality ofnotifications, wherein each respective notification from the pluralityof notifications is associated with a respective priority score. In anembodiment, the method includes modifying, by the mobile device, aranking model based on a user input received responsive to a firstnotification from the plurality of notifications and a characteristic ofa second notification from the plurality of notifications. In anembodiment, the method includes determining, by the mobile device, apriority score associated with a third notification based on themodified ranking model. In an embodiment, the method includesoutputting, to the display device, the third notification based on thepriority score associated with the third notification, wherein the thirdnotification is graphically emphasized responsive to the priority scoreassociated with the third notification being greater than at least onerespective priority score associated with a corresponding respectivenotification from the plurality of notifications.

According to another embodiment of the disclosed technology, acomputer-implemented method is provided that comprises outputting, to adisplay device operatively coupled to a mobile device, a plurality ofnotifications, wherein each respective notification from the pluralityof notifications is associated with a respective priority score. In anembodiment, the method includes modifying, by the mobile device, aranking model based on a user input received responsive to a firstnotification from the plurality of notifications. In an embodiment, themethod includes determining, by the mobile device, a priority scoreassociated with a second notification based on the modified rankingmodel. In an embodiment, the method includes outputting, to the displaydevice, the second notification based on the priority score associatedwith the second notification, wherein the second notification isgraphically emphasized responsive to the priority score associated withthe second notification being greater than at least one respectivepriority score associated with a corresponding respective notificationfrom the plurality of notifications.

According to another embodiment of the disclosed technology, a system isprovided that comprises a mobile device, operatively coupled to adisplay device, configured to: output to said display device a pluralityof notifications, wherein each respective notification from theplurality of notifications is associated with a respective priorityscore. In an embodiment, the mobile device is configured to modify aranking model based on a user input received responsive to a firstnotification from the plurality of notifications. In an embodiment, themobile device is configured to determine a priority score associatedwith a second notification based on the modified ranking model. In anembodiment, the mobile device is configured to output to said displaydevice the second notification based on the priority score associatedwith the second notification, wherein the second notification isgraphically emphasized responsive to the priority score associated withthe second notification being greater than at least one respectivepriority score associated with a corresponding respective notificationfrom the plurality of notifications.

According to another embodiment of the disclosed technology, anon-transitory computer-readable storage medium with an executableprogram stored thereon is provided, wherein the program instructs a dataprocessor to perform the following steps: output to a display device aplurality of notifications, wherein each respective notification fromthe plurality of notifications is associated with a respective priorityscore. In an embodiment, the program instructs the data processor tomodify a ranking model based on a user input received responsive to afirst notification from the plurality of notifications. In anembodiment, the program instructs the data processor to determine apriority score associated with a second notification based on themodified ranking model. In an embodiment, the program instructs the dataprocessor to output to said display device the second notification basedon the priority score associated with the second notification, whereinthe second notification is graphically emphasized responsive to thepriority score associated with the second notification being greaterthan at least one respective priority score associated with acorresponding respective notification from the plurality ofnotifications.

Other embodiments, features, and aspects can be understood withreference to the following detailed description, accompanying drawings,and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying figures and flowdiagrams, which are not necessarily drawn to scale, and wherein:

FIG. 1 is a block diagram of a notification prioritization systemenvironment, according to certain embodiments of the disclosedtechnology.

FIG. 2 is flow diagram of a notification prioritization method,according to certain embodiments of the disclosed technology.

FIG. 3 is a block diagram of an illustrative mobile device, according tocertain embodiments of the disclosed technology.

FIG. 4 shows an illustrative mobile device, according to certainembodiments of the disclosed technology.

FIG. 5 shows an illustrative mobile device, according to certainembodiments of the disclosed technology.

DETAILED DESCRIPTION

Embodiments of the disclosed technology will be described more fullyhereinafter with reference to the accompanying drawings, in whichcertain embodiments of the disclosed technology are shown. Thisdisclosed technology may, however, be embodied in many different formsand should not be construed as limited to the embodiments set forthherein.

In the following description, numerous specific details are set forth.However, it is to be understood that embodiments of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “one embodiment,” “an embodiment,” “variousembodiments,” etc., indicate that the embodiment(s) of the disclosedtechnology so described may include a particular feature, structure, orcharacteristic, but not every embodiment necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrase “in one embodiment” does not necessarily refer to the sameembodiment, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

Certain embodiments of the disclosed technology include systems andmethods for determining the priority of a notification on a mobiledevice using machine learning. In one embodiment, notifications areoutput to a display of a mobile device, where each notification has arespective priority score associated with it. Based on the user'sinteractions with an output notification, the mobile device modifies aranking model. The ranking model, described in further detail below, isused to prioritize notifications. For example, if a user clicks on atext message notification from John, the system may modify the rankingmodel such that text message notifications from John are given a higherpriority score. Notifications with a higher priority score areconsidered more important or of higher priority than notifications witha lower priority score. Continuing with the example, if the text messagenotification from John is closed (without selecting to view the textmessage), the ranking model may be modified such that text messages fromJohn are given a lower priority score.

Optionally, the mobile device may additionally base the modifications tothe ranking model on the other notifications that are output when theuser interacts with the notification. For example, if the mobile deviceoutputs a text message notification and a voicemail notification, andthe user selects the voicemail notification, the mobile device willmodify the ranking model taking into consideration that the voicemailnotification was selected while the text message notification that wasoutput at the same time was not. Accordingly, the ranking model may havea relational aspect; e.g., voicemail notifications are more importantthan text message notifications. As described further below, the sourceapplication associated with a notification is one of many notificationcharacteristics that modifications to the ranking model may be based on.

Before a new notification is output by the mobile device, the mobiledevice will determine the priority score of the new notification basedon the modified ranking model. The new notification is then output basedon this determined priority score, such that the new notification isgraphically emphasized if the priority score associated with it isgreater than at least one of the priority scores associated with theother output notifications. As an example, a text message notificationassociated with Jane is output, and a new text message notificationassociated with John is received. If the text message notificationassociated with John has a higher priority score than the text messagenotification associated with Jane, then the text message notificationassociated with John will be graphically emphasized, for example, bybalding the notification. As described further below, the notificationmay be graphically emphasized in a number of different ways.

FIG. 1 illustrates a notification prioritization system 100 inaccordance with certain embodiments. In one embodiment, one or moremobile devices 104, 106, 108 may be in communication with network 102.Although only three mobile devices are shown, it should be understoodthat more than three mobile devices may be in communication with network102 and part of system 100. Network 102 may include a local areanetwork, a wide area network, the internet, etc. The mobile devices 104,106, 108 may communicate with the network 102 wirelessly or via wiredconnections. According to one embodiment, mobile devices 104, 106, 108include a central processing unit and a display. The particular hardwarecomponents of the mobile device are described in further detail in FIG.3. Each respective mobile device 104, 106, 108 is utilized by arespective user 104A, 106A, 108A. For example, users 104A, 106A, 108Aare able to view and interact with the display of their respectivemobile devices. The many applications and uses for mobile devices arewell known in the art, for example, phone calls, text messages, emails,and third party applications. In certain embodiments, application server110 manages certain portions of mobile device applications. For example,an instant messaging service may provide a third party application thatcan be downloaded onto a mobile device. This instant messaging servicemay provide “push” notifications or deliver select data to mobile device104 through application server 110. It should be understood that theapplication server may service both third party application and/ormanufacturer/operating system native applications. In one embodiment,some or all of the processing for the notification prioritization isperformed at the processing server 112. For example, the processingserver 112 may perform the calculations to modify the ranking model ordetermine the priority score of a notification. As understood by oneskilled in the art, these calculations may also be performed locally bythe mobile device's central processing unit. It should be understoodthat application server 110 and processing server 112 may comprise oneor more computers, and may be part of a cloud computer system.

FIG. 2 depicts a flowchart illustrating a method for prioritizingnotifications, according to an embodiment. At step 200, the processstarts and then proceeds to outputting application notifications to adisplay, step 202. These notifications may be provided by applicationsnative to the mobile device or operating system, such as telephoneapplications, calendar applications, or text messaging applications. Thenotifications may also be provided by third party applications, forexample, a social networking application or instant messagingapplication. In one embodiment, all notifications are output to acentralized “notification center” so a user can access or view allnotifications in a single location. In one embodiment, the outputnotifications are prioritized before being output, by applying the dataor characteristics associated with each respective notification beingoutput to a ranking model. In one embodiment, the output of the rankingmodel is a priority score, in which the higher (or lower) the score, thehigher the priority relative to a notification with a lower priorityscore. The notifications are output to the display screen based on theirpriority score.

At step 204, the mobile device receives user input responsive to theoutput notifications. The user input may be, for example, an absence ofuser interaction with a notification, a selection of a notification, ora dismissal of a notification. An absence of interaction with anotification may indicate a neutral response to that notification. Aselection of the notification, in order to view the complete dataassociated with the notification, may indicate a positive response tothat notification (e.g., the user considers that notificationimportant). An instruction to the mobile device to dismiss thenotification, or remove it from the list of notifications being outputwithout accessing the complete data associated with the notification,may indicate a negative response to that notification (e.g., the userconsiders that notification unimportant).

The ranking model is modified, at step 206, based on the user inputreceived at step 204. For example, the ranking model is updated based onwhether a neutral, positive, or negative response to a notification wasreceived, and one or more characteristics of that notification. In oneembodiment, no modification to the ranking model is made if a neutralresponse is received. Characteristics of the notification may include,but are not limited to, the source application of the notification, thesender of the data associated with the notification (sender's nameand/or number and/or identification code), the time the notification ordata associated with the notification was received or sent, the priorityscore of the notification, and the notification content (for example,the text or image of the notification or associated data). To continuewith the example, if a text message notification associated with a textmessage received from Jane at 5:00 pm is selected (a positiveindication), the ranking model may be updated such that notificationsare given a higher priority score when they are associated with Jane,received at or around 5:00 pm, and/or are associated with text messages(or any combination thereof, such as text messages received at or around5:00 pm). Accordingly, by understanding that the user's selection of thetext message notification associated with the text message from Janeindicates that the notification was important to the user, the system isable to automatically prioritize related notifications (based on one ormore characteristics of the notification), such that the relatednotifications will receive priority scores properly reflecting theirimportance to the user.

In one embodiment, the system will take into consideration additionalvariables in modifying the ranking model, step 208. In one suchembodiment, the ranking model is modified based on: 1) a user'sinteraction with an output notification and one or more characteristicsof that notification, and 2) also based on a characteristic of anothernotification that is also being output at the same time. For example, acharacteristic is the application source. A mobile device outputs a textmessage notification and a phone call notification, and a user selectsthe text notification. The modification to the ranking model takes intoaccount both the user's positive interaction with the text messagenotification, and the fact that the user was interacting with the textmessage notification while the phone call notification was beingdisplayed—indicating that text message notifications are more importantthan phone call notifications. As another example, the characteristic isthe sender. Two text message notifications are being output; onenotification associated with a text message from John and anothernotification associated with a text message from Steve. The user selectsthe notification associated with John's text message. The update to theranking model takes into account that John's message notification wasselected over Steve's message notification, and thus, text messagenotifications associated with John are relatively more important thanthose associated with Steve.

The modification to the ranking model may further be based on the timeat which the user input is received. Additionally, the modification tothe ranking model may also be further based on the location of themobile device when the user input is received, for example, asdetermined by a global positioning system receiver contained in themobile device or other positioning means.

At step 210, a new notification is received, and a priority score isdetermined based on the modified ranking model, step 212. The newnotification is then output based on its priority score, step 214. Inone embodiment, when the new notification has a priority score greaterthan at least one of the priority scores associated with thenotifications being output, the new notification will be graphicallyemphasized. Typically, notifications are presented as a listing ofgraphics ordered chronologically accordingly to when they were received.In one embodiment, graphical emphasis of the new notification ischanging the respective position of the graphic representing the newnotification within the listing of graphics. For example, if the newnotification is determined to have a higher priority score than one ofthe two other notifications being output, the graphic associated withthe new notification may be placed in the middle of the list (in otherwords, higher than the notification with a lower priority score, butlower than the notification with a higher priority score). Notificationsmay also be graphically emphasized by enlarging some or all of thegraphic associated with the notification, balding the text associatedwith the notification, or changing the color of the notification. In oneembodiment, notifications are graphically emphasized by being displayedin a special high priority section of a notification center. Variousother means of graphically emphasizing notifications will be known toone skilled in the art. At step 216, the process ends.

In certain embodiments, the priority score determination is based, inpart, on the orientation of the mobile device. For example, if thedevice is in landscape mode, notifications associated with text messagesmay be given a higher priority score. In certain embodiments, thepriority score determination is based, in part, on the applicationcurrently or previously accessed by the user. For example, if the useris currently accessing, or has recently accessed, her text messagingapplication, notifications associated with text messages may be given ahigher priority.

The ranking model is updated based on passive user interactions, invarious embodiments of the disclosed technology. In other words, theuser does not need to actively or affirmatively input her notificationpriority preferences into the system; rather, the system uses machinelearning techniques on the user input/interactions with thenotifications to predict or estimate the priority of notifications for agiven user. In one embodiment, this machine learning includescharacteristic extraction of each notification, where each notificationis represented as a characteristic vector. Characteristics of thenotifications may include, but are not limited to, the sourceapplication of the notification, the sender of the data associated withthe notification (sender's name and/or number and/or identificationcode), the time the notification or data associated with thenotification was received or sent, the priority score of thenotification, and the notification content (for example, the text orimage of the notification or associated data). Ground trothing may thenbe performed, using the user interaction with the notifications toannotate characteristic vectors. A user selecting a notification is apositive indication compared to all unselected notifications precedingthe selected notification in the same instance of the notificationlisting or notification center. Closing or “sliding out” a notificationis a negative indication. And no action to a notification is a neutralsignal. The next step is training. In one embodiment, the data isrepresented as an online ranking problem, and pairs of notifications areconstructed where one of the notifications is annotated to be moreimportant that the other. Using the ground trothing rules, the systemmay be trained using an incremental ranker, such as passive-aggressivemodel for image retrieval (PAMIR), or other appropriate machine learningalgorithm In one embodiment, a Stochastic Linear Ranker learningalgorithm is utilized which uses pair-wise input data to train theranking model.

In one embodiment, the priority notification system may include userreinforcement. That is, in addition to the unobtrusive machine learningof priority, the system may receive explicit user feedback where theuser informs the prioritization to be correct or incorrect. Thisreinforcement feedback can be used as a strong signal for ranking modelmodifications.

In one embodiment, a classification-based priority score is used. Thatis, a binary indication of whether a notification is important or notimportant is used, as opposed to a broad ranged priority score.

Various embodiments of the communication systems and methods herein maybe embodied in non-transitory computer readable media for execution by adata processor. In certain embodiments, a mobile device is used, such asa smartphone or tablet, but other computing devices may also be used.

FIG. 3 depicts a block diagram of the architecture of mobile device 300(for example, corresponding to mobile devices 104, 106, 108 in FIG. 1)according to an embodiment of the disclosed technology. Certain aspectsof FIG. 3 may also be embodied in an external system (for example,processing server 112 or application server 110).

Mobile device 300 includes a central processing unit (CPU) 302, wherecomputer instructions are processed; a display interface 304 that actsas a communication interface and provides functions for rendering video,graphics, images, and texts on the display; a keyboard interface 306that provides a communication interface to a keyboard; and a pointingdevice interface 308 that provides a communication interface to apointing device or a presence sensitive display such as a touch screen.As understood by one skilled in the art, display interface 304, keyboardinterface 306, and pointing device interface 308 may be embodied in asingle unit, such as a presence sensitive display or touch screen.Additionally, display interface 304 may comprise a display screen thatis integrated into a device, such as a cell phone with an integratedscreen, or the display screen may be separate from the device. Variousembodiments of the methods described herein may be embodied innon-transitory computer readable media, such as storage medium 322, forexecution by CPU 302. Embodiments of the mobile device 300 may includean antenna interface 310 that provides a communication interface to anantenna; a network connection interface 312 that provides acommunication interface to a network. In certain embodiments, a camerainterface 314 is provided that acts as a communication interface andprovides functions for capturing digital images from a camera. Incertain embodiments, a sound interface 316 is provided as acommunication interface for converting sound into electrical signalsusing a microphone and for converting electrical signals into soundusing a speaker. According to various embodiments, a random accessmemory (RAM) 318 is provided, where computer instructions and data arestored in a volatile memory device for processing by the CPU 302.

According to an embodiment, the mobile device 300 includes a read-onlymemory (ROM) 320 where invariant low-level systems code or data forbasic system functions such as basic input and output (I/O), startup, orreception of keystrokes from a keyboard are stored in a non-volatilememory device. According to an embodiment, the mobile device 300includes a storage medium 322 or other suitable type of memory (e.g.such as RAM, ROM, programmable read-only memory (PROM), erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), magnetic disks, optical disks,floppy disks, hard disks, removable cartridges, flash drives), where thefiles include an operating system 324, application programs 326(including, for example, a web browser application, a widget or gadgetengine, and or other applications, as necessary) and data files 328 arestored. According to an embodiment, the mobile device 300 includes apower source 330 that provides an appropriate alternating current (AC)or direct current (DC) to power components. According to an embodiment,the mobile device 300 includes and a telephony subsystem 332 that allowsthe mobile device 300 to transmit and receive sound over a telephonenetwork. The constituent devices and the CPU 302 communicate with eachother over a bus 334.

In accordance with various embodiments, the CPU 302 has appropriatestructure to be a computer processor. In one arrangement, the computerCPU 302 is more than one processing unit. The RAM 318 interfaces withthe computer bus 334 to provide quick RAM storage to the CPU 302 duringthe execution of software programs such as the operating systemapplication programs, and device drivers. More specifically, the CPU 302loads computer-executable process steps from the storage medium 322 orother media into a field of the RAM 318 in order to execute softwareprograms. Data is stored in the RAM 318, where the data is accessed bythe computer CPU 302 during execution. In one configuration, the device300 includes at least 128 MB of RAM, and 256 MB of flash memory.

The storage medium 322 itself may include a number of physical driveunits, such as a redundant array of independent disks (RAID), a floppydisk drive, a flash memory, a USB flash drive, an external hard diskdrive, thumb drive, pen drive, key drive, a High-Density DigitalVersatile Disc (HD-DVD) optical disc drive, an internal hard disk drive,a Blu-Ray optical disc drive, or a Holographic Digital Data Storage(HDDS) optical disc drive, an external mini-dual in-line memory module(DIMM) synchronous dynamic random access memory (SDRAM), or an externalmicro-DIMM SDRAM. Such computer readable storage media allow the mobiledevice 300 to access computer-executable process steps, applicationprograms and the like, stored on removable and non-removable memorymedia, to off-load data from the mobile device 300 or to upload dataonto the mobile device 300. A computer program product, such as oneutilizing a communication system may be tangibly embodied in storagemedium 322, which may comprise a machine-readable storage medium.

FIGS. 4-5 show a mobile device exhibiting notification functionality. InFIG. 4, a portion of display 404 has been filled with notificationcenter 406, which is displaying various notifications that were receivedby the mobile device. Notification icons may also be shown on a statusbar; however, since the notification center 406 has been opened, thenotification icons on the status bar have been cleared. In this example,the first notification is for an e-mail from Per Gesele, the second isfor a chat or text message from Niklas Green, the third is for a missedincoming call from Tomas Ledin, the fourth is for a posting of PICASAphotos by Niklas Green, and the fifth is for a voice mail from TomasLedin. As shown, these notifications are organized from top to bottom inreverse chronological order. Selection by a user of any of thenotifications will cause the corresponding application to be launched ormade the focus on the device, with the item corresponding to theselected notification displayed in the application. Alternatively, theuser may select an application icon 422 to launch an applicationassociated with a notification.

The user may employ a trackball 410 or may slide their finger upwardacross the display to scroll down and see any additional messages notcurrently shown. An active application area 414 is shown above thenotification center 406. The active application area 414 shows areduced-area view of an application that was running in the forefrontwhen the user selected to open the notification center 406; in thisexample, a telephone call. A “close” tab 416 is shown visually at thebottom of the display 404. When a user selects close tab 416, thenotification center 406 will disappear from the display. The close tab416 may take other forms, and the notification center may also be closedby other means, such as the user dragging upward across it.

FIG. 5 shows an example of the mobile device of FIG. 4 employing anembodiment of the disclosed technology. The system, in this example, hasupdated the ranking model to provide a greater priority score tonotifications associated with Niklas Green than to notificationsassociated with Per Gessle or Tomas Ledin, since the user has previouslyselected notifications associated with Niklas Green more often thannotifications associated with Per Gessle or Tomas Ledin. The systemdetermined a priority score associated with each notification based onthe updated ranking model. The notifications are output based on thedetermined priority scores. In this instance, the system has graphicallyemphasized the notifications associated with Niklas Green since theyhave a greater priority score associated with them than the priorityscore associated with Per Gessle or Tomas Ledin. Specifically, thenotifications associated with Niklas Green were graphically emphasizedby changing their position within the listing of notifications which isby default reverse-chronological. As discussed above, the priority scoredetermination may be based, in whole or in part, on various otherfactors or characteristics; for example, source application.

Certain embodiments of the disclosed technology are described above withreference to block and flow diagrams of systems and methods and/orcomputer program products according to various embodiments of thedisclosed technology. It will be understood that one or more blocks ofthe block diagrams and flow diagrams, and combinations of blocks in theblock diagrams and flow diagrams, respectively, can be implemented bycomputer-executable program instructions. Likewise, some blocks of theblock diagrams and flow diagrams may not necessarily need to beperformed in the order presented, or may not necessarily need to beperformed at all, according to some embodiments of the disclosedtechnology.

These computer-executable program instructions may be loaded onto ageneral-purpose computer, a special-purpose computer, a processor, orother programmable data processing apparatus to produce a particularmachine, such that the instructions that execute on the computer,processor, or other programmable data processing apparatus create meansfor implementing one or more functions specified in the flow diagramblock or blocks. These computer program instructions may also be storedin a computer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meansthat implement one or more functions specified in the flow diagram blockor blocks. As an example, embodiments of the disclosed technology mayprovide for a computer program product, comprising a computer-usablemedium having a computer-readable program code or program instructionsembodied therein, said computer-readable program code adapted to beexecuted to implement one or more functions specified in the flowdiagram block or blocks. The computer program instructions may also beloaded onto a computer or other programmable data processing apparatusto cause a series of operational elements or steps to be performed onthe computer or other programmable apparatus to produce acomputer-implemented process such that the instructions that execute onthe computer or other programmable apparatus provide elements or stepsfor implementing the functions specified in the flow diagram block orblocks.

Accordingly, blocks of the block diagrams and flow diagrams supportcombinations of means for performing the specified functions,combinations of elements or steps for performing the specified functionsand program instruction means for performing the specified functions. Itwill also be understood that each block of the block diagrams and flowdiagrams, and combinations of blocks in the block diagrams and flowdiagrams, can be implemented by special-purpose, hardware-based computersystems that perform the specified functions, elements or steps, orcombinations of special-purpose hardware and computer instructions.

While certain embodiments of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various embodiments, it is to be understood that thedisclosed technology is not to be limited to the disclosed embodiments,but on the contrary, is intended to cover various modifications andequivalent arrangements included within the scope of the appendedclaims. Although specific terms are employed herein, they are used in ageneric and descriptive sense only and not for purposes of limitation.

The patentable scope of certain embodiments of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

What is claimed is:
 1. A method, comprising: determining, by a processorand based on a ranking model, a priority score for a notification;receiving a user selection of a characteristic value associated with thenotification; updating, by the processor, the ranking model by providinga greater or lesser priority score to the notification associated withthe user-selected characteristic value than to other notifications; andgraphically emphasizing or deemphasizing the notification associatedwith the user-selected characteristic value based on the greater orlesser priority score, respectively, in the updated ranking model. 2.The method of claim 1, wherein updating the ranking model includesproviding a lesser priority score to a second other notification basedon a second user interaction with an additional characteristic value ofthe second other notification.
 3. The method of claim 1, wherein theuser-selected characteristic value includes a source application of thenotification.
 4. The method of claim 1, wherein the user-selectedcharacteristic value includes a sender of the notification or contentwithin the notification.
 5. The method of claim 1, wherein the priorityscore is greater, and the emphasizing or deemphasizing is emphasizing.6. The method of claim 1, wherein the updating is based on a time atwhich the user-selected characteristic value is received.
 7. The methodof claim 1, wherein: the notification is represented by a graphic; andgraphically emphasizing the notification comprises enlarging at least aportion of the graphic for the notification.
 8. The method of claim 1,further comprising requesting explicit user feedback indicative ofwhether the updating of the ranking model is correct and whereinupdating the ranking model is responsive to the explicit user feedback.9. A system comprising: a memory operatively coupled to a processor andconfigured for storing data and instructions that, when executed by aprocessor, cause the processor to perform operations comprising:determining, based on a ranking model, a first priority score associatedwith a first notification and a second priority score associated with asecond notification, the ranking model based on a plurality ofcharacteristic values of a notification; and outputting the firstnotification and the second notification for concurrent display at adisplay device, the first notification being graphically emphasized ordeemphasized over the second notification based on the first priorityscore being greater or lesser, respectively, than the second priorityscore, the first priority score being greater or lesser than the secondpriority score based on a user selection of a characteristic valueassociated with the first notification.
 10. The system of claim 9,wherein the selected characteristic value includes a source applicationof the first notification.
 11. The system of claim 9, wherein theselected characteristic value includes a sender of the firstnotification or content within the first notification.
 12. The system ofclaim 9, wherein the first notification is graphically emphasized overthe second notification based on the first priority score being greaterthan the second priority score, the first priority score being greaterthan the second priority score based on the user selection of thecharacteristic value associated with the first notification.
 13. Thesystem of claim 9, wherein: the first notification is represented by afirst graphic; the second notification is represented by a secondgraphic; and the first notification is graphically emphasized based onat least a portion of the first graphic being enlarged in comparison tothe second graphic.
 14. The system of claim 9, wherein the operationsfurther include: receiving a user selection of another characteristicvalue associated with one or more additional notifications; and updatingthe ranking model in response to the user selection of the othercharacteristic value by increasing priority scores corresponding to theone or more additional notifications associated with the otheruser-selected characteristic value.
 15. The system of claim 9, whereinthe operations further include: determining a third priority scoreassociated with a third notification, the third notification associatedwith the selected characteristic value; and outputting the thirdnotification at the display device, the third notification beinggraphically emphasized over the second notification based on the thirdpriority score being greater than the second priority score, the thirdpriority score being greater than the second priority score based on theselected characteristic value.
 16. A mobile device comprising: one ormore processors; and a non-transitory computer-readable medium storingan executable program that, responsive to execution by the one or moreprocessors, cause the one or more processors to: output to a displaydevice a plurality of notifications that are each associated with anassigned priority score, the plurality of notifications displayed in anorder based on a ranking model, the ranking model being modifiable basedon user selection of one or more characteristic values associated withone or more characteristics of a notification; receive a newnotification; determine a new priority score for the new notificationbased on the ranking model; and output the new notification to thedisplay device for concurrent display with the plurality ofnotifications, the new notification being graphically emphasized ordeemphasized over at least one notification of the plurality ofnotifications based on the new priority score being greater or lesser,respectively, than a priority score corresponding to the at least onenotification, the new priority score being greater or lesser than thepriority score based on a user-selected characteristic value associatedwith the new notification.
 17. The system of claim 16, wherein theuser-selected characteristic value represents a source application ofthe notification.
 18. The system of claim 16, wherein the user-selectedcharacteristic value includes identification of a sender of thenotification or content within the notification.
 19. The system of claim16, wherein the new notification is emphasized over the at least onenotification of the plurality of notifications based on the new priorityscore being greater than the priority score corresponding to the atleast one notification, the new priority score being greater than thepriority score based on the user-selected characteristic valueassociated with the new notification.
 20. The system of claim 16,wherein the new notification is graphically emphasized based on anenlarged portion of a graphic representing the new notification.